package com.own.business.level.business.service;

import com.own.business.level.entity.bo.LevelConfigBo;
import com.own.business.level.entity.map.LevelConfigMapVo;
import com.own.business.level.entity.po.LevelConfig;
import com.own.business.level.entity.query.LevelConfigQuery;
import com.own.business.level.entity.vo.LevelConfigVo;
import com.own.component.common.base.service.BaseService;

/**
 * LevelConfigService
 *
 * @author chenxueli
 * @date 2022-07-25 10:39:00
 */
public interface LevelConfigService extends BaseService<
        LevelConfig,
        LevelConfigBo,
        LevelConfigVo,
        LevelConfigMapVo,
        LevelConfigQuery
        > {

    /**
     * 根据经验用户获取下一级的信息
     *
     * @param exp 经验数量
     * @return 下一级的信息
     */
    LevelConfigVo next(Integer exp);

    /**
     * 根据经验用户获取上一级的信息
     *
     * @param exp 经验数量
     * @return 上一级的信息
     */
    LevelConfigVo prev(Integer exp);

    /**
     * 根据经验用户获取当前级别的信息
     *
     * @param exp 经验数量
     * @return 当前级别的信息
     */
    Long level(Integer exp);

}
